package io.renren.modules.erp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.erp.entity.*;
import io.renren.modules.erp.vo.AccountItemVo4List;
import io.renren.modules.erp.vo.DepotHeadVo4List;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface AccountItemService extends IService<AccountItem> {

    AccountItem getAccountItem(long id)throws Exception ;

    List<AccountItem> getAccountItem()throws Exception ;

    PageUtils select(String name, Integer type, String remark, int offset, int rows)throws Exception ;
    Long countAccountItem(String name, Integer type, String remark)throws Exception;

    int insertAccountItem(String beanJson, HttpServletRequest request) throws Exception;

    int updateAccountItem(String beanJson, Long id, HttpServletRequest request)throws Exception ;

    int deleteAccountItem(Long id, HttpServletRequest request)throws Exception ;

    int batchDeleteAccountItem(String ids, HttpServletRequest request)throws Exception;

    int checkIsNameExist(Long id, String name)throws Exception ;

    int insertAccountItemWithObj(AccountItem accountItem)throws Exception ;

    int updateAccountItemWithObj(AccountItem accountItem)throws Exception ;

    List<AccountItemVo4List> getDetailList(Long headerId) ;

    List<DepotHeadVo> getDetailList2(Long headerId) ;

    List<AccountHeadVo4ListEx> getDetailList3(Long headerId) ;



    String saveDetials(String inserted, String deleted, String updated, Long headerId, String listType,Long userId) throws Exception;
    int batchDeleteAccountItemByIds(String ids,Long userId) throws Exception;
}